home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
bbs_util
/
bsrc_260.zip
/
INCLUDE.ZIP
/
WNFOSSIL.H
< prev
next >
Wrap
C/C++ Source or Header
|
1996-03-26
|
5KB
|
153 lines
//---------------------------------------------------------------------------
//
// Module: fossil.h
//
// Description:
// Public header file
//
// Development Team:
// Bryan A. Woodruff
//
// History: Date Author Comment
//
//---------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (c) 1994-1996 Bryan A. Woodruff. All Rights Reserved.
//
//---------------------------------------------------------------------------
#if !defined( _WNFOSCTL_ )
#include <pshpack1.h>
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// I/O Control Support... definitions borrowed from NTDDK.H
#if !defined( CTL_CODE )
#define CTL_CODE( DeviceType, Function, Method, Access ) ( \
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)
#define FILE_DEVICE_UNKNOWN 0x00000022
//
// Define the method codes for how buffers are passed for I/O and FS controls
//
#define METHOD_BUFFERED 0
#define METHOD_IN_DIRECT 1
#define METHOD_OUT_DIRECT 2
#define METHOD_NEITHER 3
//
// Define the access check value for any access
//
//
// The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
// ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
// constants *MUST* always be in sync.
//
#define FILE_ANY_ACCESS 0
#define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
#define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe
#endif
#define IOCTL_FOSSIL_BASE FILE_DEVICE_UNKNOWN
#define IOCTL_FOSSIL_RESERVED CTL_CODE(IOCTL_FOSSIL_BASE, 0x000, METHOD_BUFFERED, FILE_WRITE_ACCESS | FILE_READ_ACCESS)
#define IOCTL_FOSSIL_GET_VERSION CTL_CODE(IOCTL_FOSSIL_BASE, 0x001, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_FOSSIL_ACTIVATE_PORT CTL_CODE(IOCTL_FOSSIL_BASE, 0x002, METHOD_BUFFERED, FILE_WRITE_ACCESS | FILE_READ_ACCESS)
#define IOCTL_FOSSIL_DEACTIVATE_PORT CTL_CODE(IOCTL_FOSSIL_BASE, 0x003, METHOD_BUFFERED, FILE_WRITE_ACCESS | FILE_READ_ACCESS)
#define IOCTL_FOSSIL_CONTROL CTL_CODE(IOCTL_FOSSIL_BASE, 0x004, METHOD_BUFFERED, FILE_WRITE_ACCESS | FILE_READ_ACCESS)
#define IOCTL_FOSSIL_GETPORTINFO CTL_CODE(IOCTL_FOSSIL_BASE, 0x005, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_FOSSIL_GETPORTSTATUS CTL_CODE(IOCTL_FOSSIL_BASE, 0x006, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_FOSSIL_SETPARAMS CTL_CODE(IOCTL_FOSSIL_BASE, 0x007, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_FOSSIL_BLOCKXMIT CTL_CODE(IOCTL_FOSSIL_BASE, 0x008, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_FOSSIL_BLOCKRECV CTL_CODE(IOCTL_FOSSIL_BASE, 0x009, METHOD_BUFFERED, FILE_READ_ACCESS)
typedef struct
{
WORD wSignature ;
BYTE bVerMajor ;
BYTE bVerMinor ;
ULONG cbReceiveBuffer ;
ULONG cbReceiveFree ;
ULONG cbTransmitBuffer ;
ULONG cbTransmitFree ;
} FOSSIL_INFORMATION, *PFOSSIL_INFORMATION ;
typedef struct
{
ULONG ulPortId ;
ULONG ulControl ;
ULONG ulParam ;
} FOSSIL_CONTROL, *PFOSSIL_CONTROL ;
#define FOSSIL_CONTROL_DTR 0x0001
#define FOSSIL_CONTROL_FLOWCTL 0x0002
#define FOSSIL_FLOWCTLF_INX 0x01
#define FOSSIL_FLOWCTLF_RTSCTS 0x02
#define FOSSIL_FLOWCTLF_OUTX 0x08
#define FOSSIL_CONTROL_BREAK 0x0003
#define FOSSIL_CONTROL_PURGE 0x0004
#define FOSSIL_PURGE_TRANSMIT 0x00
#define FOSSIL_PURGE_RECEIVE 0x01
#define FOSSIL_STATUSF_INQ_DATA 0x0100
#define FOSSIL_STATUSF_OUTQ_ROOM 0x2000
#define FOSSIL_STATUSF_OUTQ_EMPTY 0x4000
#define FOSSIL_STATUSF_TIMEOUT 0x8000
#define FOSSIL_STATUSF_MS_CTS_ON 0x0010
#define FOSSIL_STATUSF_MS_DSR_ON 0x0020
#define FOSSIL_STATUSF_MS_RING_ON 0x0040
#define FOSSIL_STATUSF_MS_RLSD_ON 0x0080
typedef struct
{
ULONG ulPortId ;
ULONG BaudRate ;
ULONG ByteSize ;
ULONG StopBits ;
ULONG Parity ;
} FOSSIL_SETPARAMS, *PFOSSIL_SETPARAMS ;
typedef struct
{
ULONG ulPortId ;
PCHAR pchBuffer ;
ULONG cbBuffer ;
} FOSSIL_BUFFER, *PFOSSIL_BUFFER ;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <poppack.h>
#endif
// API support
#define FOSSIL_API_GET_VERSION 0x0000
#define FOSSIL_API_UNLOCK_PORT 0x0001
#define FOSSIL_API_LOCK_PORT 0x0002
//---------------------------------------------------------------------------
// End of File: fossil.h
//---------------------------------------------------------------------------